//      stl_helper.cc
//      
//      Copyright 2012 tqlong <tqlong@espada>
//      
//      This program is free software; you can redistribute it and/or modify
//      it under the terms of the GNU General Public License as published by
//      the Free Software Foundation; either version 2 of the License, or
//      (at your option) any later version.
//      
//      This program is distributed in the hope that it will be useful,
//      but WITHOUT ANY WARRANTY; without even the implied warranty of
//      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//      GNU General Public License for more details.
//      
//      You should have received a copy of the GNU General Public License
//      along with this program; if not, write to the Free Software
//      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
//      MA 02110-1301, USA.

#include "stl_helper.h"

void FileAccess::open2read(std::ifstream& input, const std::string& fName)
{
  input.open(fName.c_str());
  if (!input.good())
    FATAL_ERROR("cannot open " << fName << " to read.");
}

void FileAccess::open2write(std::ofstream& output, const std::string& fName)
{
  output.open(fName.c_str());
  if (!output.good())
    FATAL_ERROR("cannot open " << fName << " to write.");
}

void FileAccess::open2append(std::ofstream& output, const std::string& fName)
{
  output.open(fName.c_str(), std::ios::app);
  if (!output.good())
    FATAL_ERROR("cannot open " << fName << " to append.");
}

std::string FileAccess::getline(std::ifstream& input) {
  std::string line;
  std::getline(input, line);
  return line;
}
